프론트엔드 개발자가 자료구조를 공부해야하는 이유

알고리즘 문제를 풀면서 자료구조를 꼭 공부해야해?

존경하는 개발자 테오의 글을 소개한다.
프론트엔드 개발자에게 알고리즘 공부가 미치는 영향

예전부터 많이 들어본 질문이고 나 역시 궁금했던 점이다.
개발자들은 취업을 위해서 코딩테스트를 준비한다.

코딩테스트는 제한시간내에 / 자신있는 프로그래밍 언어로 / 복잡한 알고리즘 문제를 논리력자료구조를 이용해서 주어진 테스트케이스를 통과해야하는 일종의 과제이다.

시험을 위한 코딩테스트

코딩테스트 본질에 대한건 아직 잘 모르겠다.
하지만 시험 === 코딩테스트가 되는 순간, 코딩테스트의 본질이 흐려지지는 않을까?
시험을 통과하기 위한 공부는 의미가 있을까?
나도 기업 코딩테스트를 위해 열심히 알고리즘 문제를 해결했던 시간을 떠올렸다.
우리의 목적은 기업 시험을 통과하는 것이었다.
그렇다면 기업에 채용된다면 더 이상 알고리즘 풀이, 자료구조는 의미 없는 것일까?
기업은 왜 굳이 코딩테스트를 도입했을까?
코딩테스트를 잘하는 사람이 일도 잘할까?

수많은 물름표들이 머릿속에 떠올랐다.

정답은 아직 모르겠다.
나는 내가 현업에서 일하면서 알고리즘자료구조가 주는 영향력에 대한 글을 연재할 생각이다.

추측

지금의 생각은 코딩테스트는 논리력을 기르는데 도움이 되는 것 같다.
사고력을 키울 수 있다. (문제 해결력)

사고력은 구체적으로 컴퓨터적 사고력을 의미한다.
자료구조, 시간복잡도, 공간복잡도를 고려해보면서 코드를 작성하는 우리 개발자는
컴퓨터적 사고를 함양하고 결과적으로 업무에 도움이 되지 않을까 생각된다.

앞으로의 계획은 주 1~2회 정도는 알고리즘 문제를 해결하면서 머리도 식히고,
겸사겸사 나의 컴퓨터적 사고력을 기르기 위해 노력을 할 것이다.(취미로)

이후에 업무를 하면서 달라진 사고과정에 대해 게시글을 또 연재하겠다.
이런 글은 ‘코딩테스트를 준비하는 사람들에게 동기부여가 되지 않을까’ 생각한다.


프론트엔드 개발자 이지원입니다.@thinkanddoit
🍎 경험주의자 입니다. 🙋🏻‍♂️ 함께 성장하는 것을 좋아합니다. 📈 꾸준히 성장하기 위한 습관을 들입니다. 🤔 프로세스 고도화에 관심이 있습니다. 🗣 스몰톡을 좋아합니다. ☕️ 커피를 좋아합니다. ⚽️ 축구를 좋아합니다.

GitHubVelogResume